package com.gupao.singleton.register;

/**
 * 注册式单例:枚举式单例
 * 枚举式单例实际上在类加载的时候就使用静态块的模式进行实例化，是饿汉式单例的实现
 * ①序列化的方式破坏不了枚举式单例，因为在readObject→readEnum方法中可以通过类名和Class对象类找到唯一的一个枚举对象，
 * 所以不会重新创建实例
 * ②枚举只有一个带参数的构造方法，所以反射无法获取到无参方法，结论就是反射无法破坏枚举式单例
 */
public enum EnumSingleton {
    INSTANCE;
    private Object data;

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    public static EnumSingleton getInstance(){
        return INSTANCE;
    }
}
